Predictive encoding of motion vectors including a flag notifying the presence of coded residual motion vector data

ABSTRACT

The invention relates to a video encoding method applied to a sequence of video frames and generating a coded bitstream in which each data item is described by means of a bitstream syntax allowing any decoder to recognize and decode all the segments of the content of said bitstream. This method includes a predicting step, based on a prediction technique using a motion compensation operation, and a subtracting step, based on a subtraction of said predicted frame from the current one, and the motion compensation operation leads to motion vectors with horizontal and vertical components (MVx, MVy). These components have to be encoded differentially by using predictions (Px, Py) of said components and, in fact, only the differences (dx, dy) between the components and their predictions (Px, Py) are therefore encoded. According to the invention, said syntax includes an additional flag indicating that said differences (dx, dy) are present, or not, in the generated coded bitstream, and will have therefore to be decoded, or not, at the decoding side.

FIELD OF THE INVENTION

The present invention generally relates to the field of videocompression and, for instance, more particularly to the video standardsof the MPEG family (MPEG-1, MPEG-2, MPEG-4) and to the video codingrecommendations of the ITU H26X family (H.261, H.263 and extensions).More specifically, the invention relates to a video encoding methodapplied to a sequence of video frames and generating a coded bitstreamin which each data item is described by means of a bitstream syntaxallowing any decoder to recognize and decode all the segments of thecontent of said bitstream, said method including a predicting step,based on a prediction technique using a motion compensation operationbetween a previous frame and the current one and provided for generatinga predicted frame, and a subtracting step, based on a subtraction ofsaid predicted frame from the current one and provided for generatingthe signal to be encoded, said motion compensation operation itselfleading to the generation of motion vectors the horizontal and verticalcomponents (MVx, MVy) of which have to be encoded differentially byusing predictions (Px, Py) of said components and encoding only thedifferences (dx, dy) between said motion vector components and saidpredictions (Px, Py).

The invention also relates to an encoding device for carrying out saidencoding method, to a transmittable video signal consisting of a codedbitstream generated by such an encoding device, and to a correspondingdecoding method and device.

BACKGROUND OF THE INVENTION

In the current video standards (up to the video coding MPEG-4 standardand the H.264 recommendation), the video, described in terms of oneluminance channel and two chrominance ones, can be compressed thanks totwo coding modes applied to each channel: the “intra” mode, exploitingin a given channel the spatial redundancy of the picture elements(pixels) within each image (or frame, or picture), and the “inter” mode,exploiting the temporal redundancy between separate images (or frames,or pictures). The inter mode, relying on a motion compensationoperation, allows to describe an image from one (or more) previouslydecoded image(s) by encoding the motion of the pixels from one image toanother one.

Usually, the current picture to be coded is partitioned into independentblocks, and each of them is assigned a motion vector. A motionestimation, provided for finding the most similar blocks betweenpictures—a previous picture, used as a reference, one and the currentone—allows to determine these motion vectors, corresponding for eachblock to the displacement which represents the degree of motion betweenthese most similar blocks in said references and current pictures. Aprediction of said image can then be constructed by displacing the pixelblocks from the reference image according to the set of motion vectorsassociated to the blocks. Finally, the difference between the currentimage to be encoded and its motion-compensated prediction (called theresidual signal) can be encoded in the intra mode. All three channelsshare such a motion description.

The invention relates more specifically to the encoding of the motionvectors. In the MPEG-4 standard, and as described for instance in the UKpatent application GB 2329295, these motion vectors have for each blockhorizontal and vertical components, MVx and MVy respectively, and thesemotion vector components are encoded differentially: in fact, aprediction (Px and Py respectively) is used, and only the differences dxand dy (also called residues) between each motion vector component (MVx,MVy) and its prediction (Px, Py) are encoded. These predictions areformed, as illustrated by the different examples shown in FIG. 1 for a8×8 pixels mode macroblock, by a median filtering of three vectorcandidate predictors (MV1, MV2, MV3) from the spatial neighbourhoodmacroblocks or blocks already decoded:Px=Median (MV1x, MV2x, MV3x)   (1)Py=Median (MV1y, MV2y, MV3y)   (2)where MV1 x, MV2 x, MV3 x designate the horizontal components of thepredictors and MV1 y, MV2 y, MV3 y their vertical components. Eachmotion vector (MVx, MVy) to be encoded is described as the sum of theprediction (Px, Py) and the components (dx, dy), but, as said above,only the unpredictable difference components (dx, dy) are actuallyencoded in the video bitstream for each motion-compensated block: infact, a compression gain is thus obtained because (dx, dy) have betterstatistical properties than (MVx, MVy).

It may be noted that this method is not limited to MPEG-4 and that asimilar motion vector coding method is found in the video codingrecommendation H.264, still relying on the encoding of motion vectorresidues added to the motion vector predictions made from spatial andtemporal neighbouring motion vectors. One of the drawbacks that can behowever identified with such encoding schemes is that a motion vectorresidue always needs to be encoded to satisfy the bitstream syntax, evenif it is zero (i.e. if the encoded/decoded motion vector is thepredicted one).

SUMMARY OF THE INVENTION

It is therefore a first object of the invention to propose a videocoding method in which this drawback is avoided.

To this end, the invention relates to a coding method such as defined inthe introductory part of the description and which is moreovercharacterized in that said syntax includes an additional flag indicatingthat said differences (dx, dy) are present, or not, in said generatedcoded bitstream. It also relates to a corresponding video encodingdevice, and to a transmittable video signal consisting of a bitstreamcoded by means of such an encoding device.

Due to this additional syntactic element incorporated into the codedbitstream, the decoder that will receive a coded bitstream includingthis element will be able to take into account its value and thus toknow if the residue (dx, dy) is present in said coded bitstream to bedecoded.

It is another object of the invention to propose a video decoding methodfor decoding said transmittable video signal and a corresponding videodecoding device.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described in a more detailed manner, withreference to the accompanying drawings in which:

FIG. 1 illustrates four cases of definition of the candidate predictors(MV1, MV2, MV3) for each of the luminance blocks in a macroblock;

FIG. 2 shows an example of an MPEG encoder with motion compensatedinterframe prediction.

DETAILED DESCRIPTION OF THE INVENTION

The proposed solution consists in defining in the syntax of the videoconcerned standard or recommendation an additional element, which is asyntax flag, called for instance MV_RESIDUE and which can take thevalues 0 or 1. The encoder may thus decide whether it needs to encodethe residue (dx, dy) or not—by setting MV_RESIDUE to one of two values,1 for example, in the bitstream or, on the contrary, by settingMV_RESIDUE to the other value, 0 for example. Due to this additionalsyntactic element indicating the presence, or not, of a residue, at thedecoding side the decoder can determine which motion vector was encodedby using the predicted motion vector, and adding the residue (dx, dy) ifit is present in the bitstream.

The video coding method described above may be for instance implementedin an encoding device such as for instance the one illustrated in FIG. 2showing an example of an MPEG encoder with motion compensated interframeprediction. This encoder comprises coding and prediction stages. Thecoding stage itself comprises in series a mode decision circuit 11 (fordetermining the selection of a coding mode I, P or B as defined inMPEG), a DCT circuit 12, a quantization circuit 13, a variable-lengthcoding circuit 14, a buffer 15, and a rate control circuit 16 allowingto control the quantization step size of the quantization circuit 13.The prediction stage comprises a motion estimation circuit 21 followedby a motion compensation circuit 22, and also, in series between theoutput of the quantization circuit 13 and the input of the motioncompensation circuit 22, an inverse quantization circuit 23, an inverseDCT circuit 24 and an adder 25, a subtractor 26 allowing to send towardsthe coding stage the difference between the input signal IS of thecoding device and the predicted signal available at the output of theprediction stage (i.e. at the output of the motion compensation circuit22). This difference, or residual, is the bitstream that is coded. Themotion vectors determined by the motion estimation circuit 21 are senttowards a multiplexer 31, together with the output signal of the buffer15, in order to be multiplexed in the form of an output coded bitstreamCB available at the output of said multiplexer 31. Said bitstream CB isthe coded bitstream that, according to the invention, will include theadditional syntactic element indicating the presence, or not, ofdifferences (dx, dy) that have to be coded.

The invention also relates to a transmittable video signal consisting ofa coded bitstream generated by such a video encoding device.

Reciprocally, according to a corresponding decoding method, theadditional syntactic element, transmitted to the decoding side withinthe coded bitstream, is read by appropriate means in a video decoderreceiving it and carrying out said decoding method. The decoder, whichis able to recognize and decode all the segments of the content of thecoded bitstream, reads said additional syntactic element and knows thatan encoded residual signal is present or not present. Such a decoder maybe of any MPEG-type, as the encoding device, and its essential elementsare for instance, in series, an input buffer receiving the codedbitstream, a VLC decoder, an inverse quantizing circuit and an inverseDCT circuit. Both in the coding and decoding device, a controller may beprovided for managing the steps of the coding or decoding operations.

The foregoing description of the preferred embodiments of the inventionhas been presented for purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseforms disclosed, and obviously modifications and variations, apparent toa person skilled in the art and intended to be included within the scopeof this invention, are possible in light of the above teachings.

It may for example be understood that the coding and decoding devicesdescribed herein can be implemented in hardware, software, or acombination of hardware and software, without excluding that a singleitem of hardware or software can carry out several functions or that anassembly of items of hardware and software or both carry out a singlefunction. The described methods and devices may be implemented by anytype of computer system or other adapted apparatus. A typicalcombination of hardware and software could be a general-purpose computersystem with a computer program that, when loaded and executed, controlsthe computer system such that it carries out the method describedherein. Alternatively, a specific use computer, containing specializedhardware for carrying out one or more of the functional tasks of theinvention could be utilized.

The present invention can also be embedded in a computer programproduct, which comprises all the features enabling the implementation ofthe method and functions described herein and—when loaded in a computersystem—is able to carry out these method and functions. Computerprogram, software program, program, program product, or software, in thepresent context mean any expression, in any language, code or notation,of a set of instructions intended to cause a system having aninformation processing capability to perform a particular functioneither directly or after either or both of the following: (a) conversionto another language, code or notation; and/or (b) reproduction in adifferent material form.

1. A video encoding method applied to a sequence of video frames andgenerating a coded bitstream in which each data item is described bymeans of a bitstream syntax allowing any decoder to recognize and decodeall the segments of the content of said bitstream, said method includinga predicting step, based on a prediction technique using a motioncompensation operation between a previous frame and the current one andprovided for generating a predicted frame, and a subtracting step, basedon a subtraction of said predicted frame from the current one andprovided for generating the signal to be encoded, said motioncompensation operation itself leading to the generation of motionvectors the horizontal and vertical components (MVx, MVy) of which haveto be encoded differentially by using predictions (Px, Py) of saidcomponents and encoding only the differences (dx, dy) between saidmotion vector components and their predictions (Px, Py), said encodingmethod being further characterized in that said syntax includes anadditional flag indicating that said differences (dx, dy) are present,or not, in said generated coded bitstream.
 2. A video encoding devicefor carrying out a video encoding method applied to a sequence of videoframes and generating a coded bitstream in which each data item isdescribed by means of a bitstream syntax allowing any decoder torecognize and decode all the segments of the content of said bitstream,said encoding method including a predicting step, based on a predictiontechnique using a motion compensation operation between a previous frameand the current one and provided for generating a predicted frame, and asubtracting step, based on a subtraction of said predicted frame fromthe current one and provided for generating the signal to be encoded,said motion compensation operation itself leading to the generation ofmotion vectors the horizontal and vertical components (MVx, MVy) ofwhich have to be encoded differentially by using predictions (Px, Py) ofsaid components and encoding only the differences (dx, dy) between saidmotion vector components and their predictions (Px, Py), said encodingdevice being further characterized in that said syntax includes anadditional flag indicating that said differences (dx, dy) are present,or not, in the coded bitstream generated by said encoding device.
 3. Atransmittable video signal consisting of a coded bitstream generated bya video encoding device for carrying out a video encoding method appliedto a sequence of video frames and generating a coded bitstream in whicheach data item is described by means of a bitstream syntax allowing anydecoder to recognize and decode all the segments of the content of saidbitstream, said encoding method including a predicting step, based on aprediction technique using a motion compensation operation between aprevious frame and the current one and provided for generating apredicted frame, and a subtracting step, based on a subtraction of saidpredicted frame from the current one and provided for generating thesignal to be encoded, said motion compensation operation itself leadingto the generation of motion vectors the horizontal and verticalcomponents (MVx, MVy) of which have to be encoded differentially byusing predictions (Px, Py) of said components and encoding only thedifferences (dx, dy) between said motion vector components and theirpredictions (Px, Py), said transmittable video signal beingcharacterized in that said coded bitstream comprises a syntactic elementin the form of an additional flag indicating that said differences (dx,dy) are present, or not, in said coded bitstream.
 4. A video decodingmethod for decoding a transmittable video signal consisting of a codedbitstream generated by implementation of a video encoding method appliedto a sequence of video frames and generating a coded bitstream in whicheach data item is described by means of a bitstream syntax allowing anydecoder to recognize and decode all the segments of the content of saidbitstream, said encoding method including a predicting step, based on aprediction technique using a motion compensation operation between aprevious frame and the current one and provided for generating apredicted frame, and a subtracting step, based on a subtraction of saidpredicted frame from the current one and provided for generating thesignal to be encoded, said motion compensation operation itself leadingto the generation of motion vectors the horizontal and verticalcomponents (MVx, MVy) of which have to be encoded differentially byusing predictions (Px, Py) of said components and encoding only thedifferences (dx, dy) between said motion vector components and theirpredictions (Px, Py), said decoding method being further characterizedin that it comprises a step for reading in said coded bitstream anadditional flag indicating that said differences (dx, dy) are present,or not, in said coded bitstream and have therefore, or not, to bedecoded.
 5. A video decoding device for carrying out a video decodingmethod for decoding a transmittable video signal consisting of a codedbitstream generated by implementation of a video encoding method appliedto a sequence of video frames and generating a coded bitstream in whicheach data item is described by means of a bitstream syntax allowing anydecoder to recognize and decode all the segments of the content of saidbitstream, said method including a predicting step, based on aprediction technique using a motion compensation operation between aprevious frame and the current one and provided for generating apredicted frame, and a subtracting step, based on a subtraction of saidpredicted frame from the current one and provided for generating thesignal to be encoded, said motion compensation operation itself leadingto the generation of motion vectors the horizontal and verticalcomponents (MVx, MVy) of which have to be encoded differentially byusing predictions (Px, Py) of said components and encoding only thedifferences (dx, dy) between said motion vector components and theirpredictions (Px, Py), said decoding device being further characterizedin that it comprises means for reading in said coded bitstream anadditional flag indicating that said differences (dx, dy) are present,or not, in said coded bitstream and have therefore, or not, to bedecoded.